package com.ssy.lingxi.settle.accounts.model.vo.request;

import javax.validation.constraints.*;
import java.io.Serializable;

/**
 * 平台发票新增VO
 * @author 伍将
 * @date 2020/10/20
 * @version 2.0.0
 */
public class PlatformInvoiceAddVO implements Serializable {
    private static final long serialVersionUID = 7373727385415142369L;

    /**
     * 发票种类:1.增值税普通发票（默认） 2.增值税专用发票
     */
    @NotNull(message = "发票种类范围为：1-2")
    @Positive(message = "发票种类范围为：1-2")
    private Integer kind = 1;

    /**
     * 发票类型:1.企业（默认） 2.个人
     */
    @NotNull(message = "发票类型范围为：1-2")
    @Positive(message = "发票类型范围为：1-2")
    private Integer type = 1;

    /**
     * 发票抬头
     */
    @NotBlank(message = "发票抬头不能为空")
    private String invoiceTitle;

    /**
     * 纳税号
     */
    @NotBlank(message = "纳税号不能为空")
    private String taxNo;

    /**
     * 开户行
     */
    @Size(max = 40, message = "开户行最长40个字符，20个汉字")
    private String bankOfDeposit;

    /**
     * 账号
     */
    @Size(max = 40, message = "开户行最长40个字符")
    private String account;

    /**
     * 地址
     */
    @Size(max = 80, message = "开户行最长80个字符，40个汉字")
    private String address;

    /**
     * 电话
     */
    @Size(max = 80, message = "开户行最长20个字符")
    private String tel;

    /**
     * 默认: 1.是 0.否
     */
    @NotNull(message = "默认范围为：0-1")
    @PositiveOrZero(message = "默认范围为：0-1")
    private Integer isDefault;

    public Integer getKind() {
        return kind;
    }

    public void setKind(Integer kind) {
        this.kind = kind;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getInvoiceTitle() {
        return invoiceTitle;
    }

    public void setInvoiceTitle(String invoiceTitle) {
        this.invoiceTitle = invoiceTitle;
    }

    public String getTaxNo() {
        return taxNo;
    }

    public void setTaxNo(String taxNo) {
        this.taxNo = taxNo;
    }

    public String getBankOfDeposit() {
        return bankOfDeposit;
    }

    public void setBankOfDeposit(String bankOfDeposit) {
        this.bankOfDeposit = bankOfDeposit;
    }

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public Integer getIsDefault() {
        return isDefault;
    }

    public void setIsDefault(Integer isDefault) {
        this.isDefault = isDefault;
    }
}
